var mymodules=(function manager(){
    var modules={};
    function define(name,deps,impl){
        for(var i=0;i<deps.length;i++){
            deps[i]=modules[deps[i]];
        }
        modules[name]=impl.apply(impl,deps);
        var count=0;
    }
    function get(name){
        return modules[name];
    }
    return {
        define:define,
        get:get,
    };
})();
mymodules.define('bar',[],function(){
    function hello(who){
        return 'let me introduce:'+who;
    }
    return {
        hello:hello
    };
});
mymodules.define('foo',['bar'],function(bar){
    var hungry='hipppo';
    function awesome(){
        console.log(bar.hello(hungry).toUpperCase());
    }
    return{
        awesome:awesome
    }
});
var bar=mymodules.get('bar');
var foo=mymodules.get('foo');
console.log(
    bar.hello('hipppo')
)
foo.awesome();